#pragma once
#include <iostream>
#include <filesystem>
#include <fstream>
#include <Windows.h>
#include <list>

#define 函数_创建文件夹         std::filesystem::create_directory
#define 函数_文件夹是否存在     std::filesystem::exists
#define 函数_获取当前路径       std::filesystem::current_path
#define 函数_扫描文件夹内文件   std::filesystem::directory_iterator
#define 函数_移动文件           std::filesystem::rename
#define 函数_复制文件           std::filesystem::copy


#define 函数_弹窗               MessageBoxW
// #define 函数_输入框             













std::list<const char *> 扫描目录(const char *path) {
	std::list<const char *> result;
    for (const auto &entry : std::filesystem::directory_iterator(path)) {
        if (entry.is_regular_file()) {
            result.push_back(entry.path().filename().string().c_str());
        }
    }
    return result;
}






void scan_directory(const std::filesystem::path& path)
{
    if (!std::filesystem::exists(path))
    {
        std::cout << "路径不存在" << std::endl;
        return;
    }

    for (const auto& entry : std::filesystem::directory_iterator(path))
    {
        if (entry.is_regular_file()) {
            // std::cout << "文件: " << entry.path() << std::endl;
            if (entry.path().extension() == ".txt")
            {
                std::cout << "文件: " << entry.path() << " 是一个文本文件" << std::endl;
            }
            

        }
        else if (entry.is_directory())
        {
            scan_directory(entry.path());
        }
    }
}







int main()
{
    std::cout << "Program Started!" << std::endl;
    std::cout << 函数_获取当前路径() << std::endl;
    // std::cout << 函数_文件夹是否存在("./test") << std::endl;
    // if(!函数_文件夹是否存在("./test2"))
    // {
    //     std::cout << "文件夹不存在" << std::endl;
    //     std::cout << 函数_创建文件夹("./test2") << std::endl;
    // }
    
    // std::system("chcp 65001");
    // 函数_复制文件("123.jpg","./test2/000.jpg");
    // if(!函数_文件夹是否存在("./text3"))
    // {
    //     函数_创建文件夹("./text3");
    //     函数_复制文件("./123.jpg","./text3/000.jpg");
    //     函数_移动文件("./123.jpg","./text3/001.jpg");
    // }
    
    // auto result = 函数_扫描文件夹内文件(".");
    // for(auto& p : result)
    // {
    //     std::cout << (函数_获取当前路径() / p.path()).lexically_normal() << std::endl;
    // }
    wchar_t editText[256];

    // 然后，调用GetDlgItemTextW函数来获取文本
    GetDlgItemTextW(0, 0, editText, 256);
    std::wcout << editText << std::endl;
    std::cout << "Program Ended!" << std::endl;
    std::system("pause");
    return 0;
}